﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SIIE_ERP.BaseDatos
{
    public enum ComoNosConociste_Id
    { 
        ComoNosConociste_ProgramasConcanaco = 1,
        ComoNosConociste_RecomendadoPorConocido = 2,
        ComoNosConociste_SitioWeb = 3,
        ComoNosConociste_Facebook = 4,
        ComoNosConociste_Twitter = 5,
        ComoNosConociste_Otro = 6,
        ERROR = -1
    }

    public enum CompaniaCelular_Id
    { 
        CompaniaCelular_Telcel = 1,
        CompaniaCelular_Movistar = 2,
        CompaniaCelular_Unefon = 3,
        CompaniaCelular_Iusacell = 4,
        CompaniaCelular_Nextel = 5,
        ERROR = -1
    }

    public static class Get_EstatusDocs_Id {

        public static string Get_Estatus_Desc(EstatusDocs_Id Id) 
        {
            if (Id.GetHashCode() == 10)
                return "Cargado";
            else if (Id.GetHashCode() == 20)
                return "Pedido";
            else if (Id.GetHashCode() == 21)
                return "Orden de Compra";
            else if (Id.GetHashCode() == 30)
                return "Remisión";
            else if (Id.GetHashCode() == 31)
                return "Recepción";
            else if (Id.GetHashCode() == 40)
                return "Devolución";
            else if (Id.GetHashCode() == 50)
                return "Factura";
            else if (Id.GetHashCode() == 99)
                return "Cancelado";
            else if (Id.GetHashCode() == 110)
                return "En Proceso de Pago";
            else if (Id.GetHashCode() == 120)
                return "Pagado";
            else if (Id.GetHashCode() == 210)
                return "Activo";
            else if (Id.GetHashCode() == 220)
                return "Finalizado";
            else if (Id.GetHashCode() == 310)
                return "No Conciliado";
            else if (Id.GetHashCode() == 410)
                return "Asentado";
            else //if (Id.GetHashCode() == 320)
                return "Conciliado";            
        }
    }

    public static class Get_DocNames
    {
        public static string Get_Estatus_Desc(Documentos_Id Id)
        {
            if (Id.GetHashCode() == 110)
                return "CotizacionVenta";
            else if (Id.GetHashCode() == 120)
                return "Pedido";
            else if (Id.GetHashCode() == 130)
                return "Remision";
            else if (Id.GetHashCode() == 140)
                return "FacturaCliente";
            else if (Id.GetHashCode() == 150)
                return "DevolucionClient";
            else if (Id.GetHashCode() == 160)
                return "NotaCreditoCliente";
            else if (Id.GetHashCode() == 170)
                return "NotaCargoCliente";
            else if (Id.GetHashCode() == 180)
                return "ReciboHonorariosVentas";
            else if (Id.GetHashCode() == 190)
                return "ReciboArrendamientoVentas";
            else if (Id.GetHashCode() == 200)
                return "ReciboNominaVentas";
            else if (Id.GetHashCode() == 111)
                return "CotizacionCompra";
            else if (Id.GetHashCode() == 121)
                return "OrdenCompra";
            else if (Id.GetHashCode() == 131)
                return "Recepcion";
            else if (Id.GetHashCode() == 141)
                return "FacturaProveedor";
            else if (Id.GetHashCode() == 151)
                return "DevolucionProveedor";
            else if (Id.GetHashCode() == 161)
                return "NotaCreditoProveedor";
            else if (Id.GetHashCode() == 171)
                return "NotaCargoProveedor";
            else if (Id.GetHashCode() == 181)
                return "ReciboHonorariosCompras";
            else if (Id.GetHashCode() == 191)
                return "ReciboArrendamientoCompras";
            else if (Id.GetHashCode() == 201)
                return "ReciboNominaCompras";
            else if (Id.GetHashCode() == 310)
                return "PagoCliente";
            else if (Id.GetHashCode() == 311)
                return "PagoProveedor";
            else if (Id.GetHashCode() == 410)
                return "AjusteSaldo";
            else if (Id.GetHashCode() == 510)
                return "MovimientoInventario";
            else //if (Id.GetHashCode() == 610)
                return "Oportunidad";
        }
    }


    public enum EstatusDocs_Id
    {
        Estatus_Doc_Cargado = 10,
        Estatus_Doc_Pedido = 20,
        Estatus_Doc_OrdenCompra = 21,
        Estatus_Doc_Remision = 30,
        Estatus_Doc_Recepcion = 31,
        Estatus_Doc_Devolucion = 40,
        Estatus_Doc_Factura = 50,
        Estatus_Doc_Cancelado = 99,
        Estatus_Doc_En_Proceso_de_Pago = 110,
        Estatus_Doc_Pagado = 120,
        Estatus_Doc_Activo = 210,
        Estatus_Doc_Finalizado = 220,
        Estatus_Doc_NoConciliado = 310,
        Estatus_Doc_Conciliado = 320,
        Estatus_Doc_Asentado = 410,
        ERROR = -1
    }

    public enum PuntoVenta_Id
    {
        PV_Sin_Acceso = 1,
        Cajero = 2,
        Supervisor = 3,
        ERROR = -1
    }

    public enum Documentos_Id
    {
        Doc_CotizacionVenta = 110,
        Doc_Pedido = 120,
        Doc_Remision = 130,
        Doc_FacturaCliente = 140,
        Doc_DevolucionCliente = 150,
        Doc_NotaCreditoCliente = 160,
        Doc_NotaCargoCliente = 170,
        Doc_ReciboHonorariosVentas = 180,
        Doc_ReciboArrendamientoVentas = 190,
        Doc_ReciboNominaVentas = 200,
        Doc_CotizacionCompra = 111,
        Doc_OrdenCompra = 121,
        Doc_Recepcion = 131,
        Doc_FacturaProveedor = 141,
        Doc_DevolucionProveedor = 151,
        Doc_NotaCreditoProveedor = 161,
        Doc_NotaCargoProveedor = 171,
        Doc_ReciboHonorariosCompras = 181,
        Doc_ReciboArrendamientoCompras = 191,
        Doc_ReciboNominaCompras = 201,
        Doc_PagoCliente = 310,
        Doc_PagoProveedor = 311,
        Doc_AjusteSaldo = 410,
        Doc_MovimientoInventario = 510,
        Doc_Oportunidad = 610,
        ERROR = -1
    }
}
